home *** CD-ROM | disk | FTP | other *** search
- /***************************************************** IMPLEMENTATION
- DATE: 9/20/93
- AUTHOR: Eric R. Rosé
-
- CLASS: CPPWindow
-
- SUPERCLASS: CPPObjectList
-
- This C++ class manages a Macintosh window; it is subclassed
- from an object list so that it can keep track of all of the
- objects within the window
-
-
- ********************************************************************/
-
- #pragma once
-
- #include <CPPObjectList.h>
-
- class CPPWindowManager;
- class CPPVisualObject;
-
- class CPPWindow : public CPPObjectList{
- friend class CPPWindowManager;
-
- public:
- Boolean modalDone;
- Boolean modalResult; // TRUE if OK, FALSE if Cancel
-
- CPPWindow (CPPWindowManager *theManager,
- Rect *bounds, StringPtr title, Boolean isVisible,
- short windowKind, Boolean hasGoAway, short RefCon,
- Boolean isModal = FALSE, Boolean isColor = TRUE,
- short windowFont = geneva, short windowSize = 9);
- CPPWindow (CPPWindowManager *theManager, short ResID,
- Boolean isModal = FALSE,
- Boolean isColor = TRUE, short windowFont = geneva,
- short windowSize = 9);
- ~CPPWindow (void);
-
- virtual char *ClassName (void);
-
- virtual Boolean DoCommand (short commandID);
-
- void DoModalWindow (void);
- void EndModalWindow (Boolean endResult);
-
- void Show (Boolean doShowWindow);
- Boolean Do (EventRecord *theEvent);
- void DoIdle (void);
- void Update (EventRecord *theEvent);
- void Close (void);
- void Open (void);
- WindowPtr GetWindow (void);
-
- CPPVisualObject *GetTarget (void);
- void MakeTarget (CPPVisualObject *theObject);
- Boolean MakeNextTarget (void);
- Boolean MakePreviousTarget (void);
-
- Boolean IsColorWindow (void);
- Boolean IsModalWindow (void);
- Boolean WindowVisible (void);
- Boolean WindowActive (void);
-
- void StartManagingObject (CPPVisualObject *theObject);
- void StopManagingObject (CPPVisualObject *theObject);
- virtual void RefreshItemStates (void);
-
- void SetMinMaxSize (short minWidth, short minHeight,
- short maxWidth, short maxHeight);
- void SetZoomedOutSize (short maxWidth, short maxHeight);
-
- protected:
- WindowPtr theWindow;
- Boolean WisVisible;
- Boolean WisActive;
- CPPWindowManager *ourManager;
- CPPVisualObject *currentTarget;
-
- virtual void Activate (void);
- virtual void Deactivate (void);
- virtual void DoUserClick (EventRecord *theEvent);
- virtual void DoUserUpdate (void);
- virtual void DoUserIdle (void);
- virtual Boolean DoUserKey (EventRecord *theEvent);
- virtual void DoUserChangeSize (short newWidth, short newHeight);
-
- private:
- Boolean isCWindow;
- Boolean isModalWindow;
- short minWidth, minHeight,
- maxWidth, maxHeight;
-
- void MakeCPPWindow (CPPWindowManager *theManager,
- short windowFont, short windowSize);
- void DoContentClick (EventRecord *theEvent);
- void DoDragClick (EventRecord *theEvent);
- void DoZoomClick (EventRecord *theEvent, short thePart);
- void DoGoAwayClick (EventRecord *theEvent);
- void DoGrowClick (EventRecord *theEvent);
- Boolean DoClick (EventRecord *theEvent);
- };
-